The explosion of information available over network-based systems such as the Internet can overwhelm a person attempting to locate a desired piece of information or product. For example, over the last decade the categories of products available through a typical network-based commerce system has grown exponentially. This dramatic growth has left users with the problem of sorting and browsing through enormous amounts of data to find information or products relevant to their needs. Search engines and recommendation systems have both been developed to assist in locating both information and products within network-based systems.
Most network-based systems selling products and services online include at least a rudimentary search capability. Many network-based systems also allow users to filter or sort search results according to price, availability, or some similar product or service attribute. Some network-based systems also allow users to filter search results by age of listing. While these filtering and sorting mechanisms may assist a user in sifting through large sets of data, these mechanisms do little to assist the potential buyer in finding the most desirable products or services.
Recommendation systems have been implemented to attempt to assist users in locating relevant information or products. A successful recommendation system on a network-based commerce system not only saves users time in locating relevant products but also brings extra profits to the commerce system's operators.
Most current recommendation systems utilize some form of collaborative filtering to produce a single scalar number for each potential relationship. Two different basic types of collaborative filtering are typically employed by recommendation systems: user-based or item-based. User-based collaborative filtering focuses on grouping like user behavior. Item-based recommendation systems focus on grouping similar items.